#include<stdio.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/types.h>

int main()
{
    	//1、获取key值
    	key_t key = ftok(".",10);
    	//2、根据key值 获取共享内存的ID号
    	int shmid = shmget(key,1024,IPC_CREAT|0666);
    	//3、根据ID号 将共享内存映射至本进程虚拟内存空间的某个区域
    	char*shm_p = shmat(shmid,NULL,0);
    	if(shm_p == (void*)-1)
    	{
    		perror("shmat error");
    		return -1;
    	}
    	//此时映射出来的shm_p 就是两个进程的共享内存
    	while(1)
    	{
    		//从共享内存中读取数据
    		printf("recv:%s\n",shm_p);
    		sleep(1);
    		
    		//退出条件，这里要注意 应该使用strncmp 指定字节数
    		if(strncmp(shm_p,"exit",4) == 0)
    			break;
    	}
    
    	return 0;
}